package cn.szabadsag.hrm.exception;

/**
 * @author yangcong
 * @date 2022年04月07日 11:17
 * @since
 *
 * 整个系统中异常可以分为两类
 *  1 自己业务逻辑判断异常  可以通过自定义异常抛出，外层进行捕获处理
 *  1) BusinessException
 *  2)在controller抛出并捕获异常
 *  问题1：每个地方都要做null判断 断言判断解决
 *  问题2：controller到处都要进行捕获处理 全局异常处理解决
 *  2 底层框架（mysql sql错了会抛出异常）  直接捕获Exception，进行统一提示处理
 */
public class BusinessException extends RuntimeException {

    private ErrorCode errorCode;

    public ErrorCode getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(ErrorCode errorCode) {
        this.errorCode = errorCode;
    }
    /*
     * alt + insert 重载RuntimeException中的方法
     */

    public BusinessException(String message) {
        super(message);
    }

    public BusinessException(ErrorCode errorCode) {
        this.errorCode = errorCode;
    }

    public BusinessException(String message, Throwable cause) {
        super(message, cause);
    }

    public BusinessException(Throwable cause) {
        super(cause);
    }
}
